// 标准库头文件
// #include <algorithm>      // 标准库：算法库
// #include <cmath>          // 标准库：数学函数库
// #include <iomanip>        // 标准库：格式化输出
// #include <iostream>       // 标准库：输入输出流
// #include <map>            // 标准库：map 类
// #include <set>            // 标准库：set 类
// #include <string>         // 标准库：字符串类
// #include <vector>         // 标准库：向量类
#include <bits/stdc++.h>  // 头文件：常用库（万能头文件）
using namespace std;      // 命名空间：标准库
// 自定义头文件
// #include "./resolve/L1_D202303.h"  // 题解
// #include "./lib/prime.h"
// 方法二：在源文件开头添加编译器指令
// #pragma execution_character_set("utf-8")
// 方法三：使用UTF-8字符串字面量前缀
// std::string str = u8"你好世界";  // C++11及以上支持
// 方法四：设置本地化环境
// #include <locale>
// std::locale::global(std::locale("zh_CN.UTF-8"));  // Linux/Mac
// 或
// std::locale::global(std::locale(".UTF-8"));       // 跨平台通用
// # 方法五：编译时指定编码
// g++ -finput-charset=utf-8 -fexec-charset=utf-8 source.cpp
#define PI 3.1415926  // 宏定义

// 利用指针交换两个外部变量的值
void swap(int* a, int* b) {
  int temp = *a;
  *a = *b;
  *b = temp;
}
int main() {
  int a = 10, b = 20;
  // 交换 a b 的值：通过取地址符获取 a b 的地址（指针）
  swap(&a, &b);
  cout << a << " " << b << endl;

  // 通过指针访问数组元素，循环打印
  int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
  int* p = arr;
  for (int i = 0; i < 10; i++) {
    cout << *(p + i) << " ";
  }
  return 0;
}

// const int a = 10;
// int const b = 9;
// a = 1;
// b = 1;
// 防止中文乱码
// 方法一：控制台代码页设置为 UTF-8
// system("chcp 65001 > nul");
//
// cout << "Hello World!" << endl;
// cout << '2' - 0 << endl;
// Q5();
// getPrime(100);